package cn.lj.service;

import cn.lj.domain.Appointment;
import cn.lj.domain.Book;
import cn.lj.domain.Student;
import cn.lj.dto.AppointExecution;
import java.util.List;

/**
 * @author lj
 * @Description:
 * @date 2020-12-04 14:14
 * @QQ 851477108
 */

public interface BookService {

    /**
     * 查询所有书
     * @return
     */
    List<Book> findAll();

    /**
     * 根据id查询
     * @param id
     * @return
     */
    Book findById(Long id);

    /**
     * 根据名字模糊查询
     * @param name
     * @return
     */
    List<Book> findListByName(String name);

    /**
     * 查看某学生的预约
     * @param studentId
     * @return
     */
    List<Appointment> findAppointByStu(Long studentId);

    /**
     * 核查学生
     * @param studentId,password
     * @return
     */
    Student checkStudent(Long studentId, Long password);

    /**
     * 预约图书，返回预约成功的实体类
     * @param bookId
     * @param studentId
     * @return
     */
    AppointExecution appoint(Long bookId, Long studentId);
}
